package zengjin.model.vo.offer;

import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * @author 19324
 */
@Data
public class OfferDetailVO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId
    private String offerId;

    /**
     * offer发的求职者ID
     */
    private String offerJobseekerId;

    /**
     * offer发的岗位ID
     */
    private String offerJobId;

    /**
     * offer的企业ID
     */
    private String offerEmployerId;

    /**
     * offer状态，已发送，已接收，已拒绝，已过期
     */
    private String offerStatus;

    /**
     * offer备注，补充信息
     */
    private String offerRemarks;

    /**
     * offer截止时间
     */
    private Date offerEndTime;

    /**
     * 兼职工作唯一标识，主键，自增长整数类型
     */
    private String jobId;

    /**
     * 兼职工作在管理员哪里的状态
     */
    private String jobAdminStatus;

    /**
     * 兼职职位是否有效（即是否还在招聘）
     */
    private String jobStatus;

    /**
     * 雇主 ID，外键关联雇主表，表明该兼职工作由哪个雇主发布
     */
    private String jobEmployerId;

    /**
     * 兼职职位名称，字符串类型。
     */
    private String jobTitle;

    /**
     * 工作描述，文本类型，详细说明兼职工作的内容、职责、要求等信息。
     */
    private String jobDescription;

    /**
     * 任职要求，文本类型，如学历、技能、工作经验等方面的要求。
     */
    private String jobRequirements;

    /**
     * 工作地点，字符串类型，可以是具体地址或地区范围。
     */
    private String jobLocation;

    /**
     * 工作类型，字符串类型（如家教、促销、客服、翻译、配送等）
     */
    private String jobType;

    /**
     * 薪酬待遇，数值类型，可以是时薪、日薪、月薪等，根据兼职工作的结算方式而定。
     */
    private Integer jobSalary;

    /**
     * 薪酬待遇类型，字符串类型（如“日薪”、“月薪”、“时薪”等）
     */
    private String jobSalaryType;

    /**
     * 工作时间安排，文本类型，如 “每周一至周五下午 4 点 - 8 点” 或 “周末全天” 等具体的工作时间段描述。
     */
    private String jobWorkingHours;

    /**
     * 兼职工作开始日期，日期类型。
     */
    private Date jobStartDate;

    /**
     * 兼职工作结束日期，日期类型，如果是长期兼职，可设置为一个较远的日期或为空。
     */
    private Date jobEndDate;

    /**
     * 是否通过平台认证，已认证，未认证，认证中，认证个人，认证学生，认证公司，认证餐饮老板等等
     */
    private String employerIsVerified;

    /**
     * 雇主状态，正常，封禁
     */
    private String employerStatus;

    /**
     * 公司名称，字符串类型。
     */
    private String employerCompanyName;

    /**
     * 用户头像
     */
    private String userAvatarUrl;

    /**
     * 公司行业，字符串类型。
     */
    private String employerCompanyIndustry;

    /**
     * 公司地址，字符串类型。
     */
    private String employerCompanyAddress;

    /**
     * 公司简介，文本类型，用于向求职者展示公司的基本情况、业务范围等信息。
     */
    private String employerCompanyDescription;

    /**
     * 公司官方网站，字符串类型，可选字段，方便求职者进一步了解公司。
     */
    private String employerCompanyWebsite;
}
